1. Field of the Invention
The present invention is related to image transmission and retrieval, and in particular, to methods and systems for transmitting and retrieving digital images over a network.
2. Description of the Related Art
Many applications use network protocols to transfer digital media files from one computer over a network to another computer. By way of example, when users request images via the World Wide Web, HTTP protocol is conventionally used to transmit the requested images encoded as JPEG files to the users. This type of access is commonly referred to as a “pull” protocol because users request each image through the use of a Web browser.
Further, many conventional Web sites that provide views of image data require users to upload original pictures or other image files, which can total hundreds of megabits of transfer and hours of upload time, even if the pictures are never actually viewed by others.
Users also conventionally send digital pictures through email in order to “push” files to other users. Users can search for files on a number of peer-to-peer (or “p2p”) networks to find image files to download and share with others. The foregoing methods are file-based, wherein the request mechanism asks for the contents of a file and those contents are transferred over a network. In particular, with respect to image files, these methods can sometimes require that the sender send images using a fixed image resolution, which is the file received by the recipient.
Further, emailing large, high resolution pictures can cause large download times for the recipients, can tie up their network access and their computer, and so sending many pictures this way is often considered rude. When small pictures are sent via email, the process is generally accomplished manually, by repeated emails and resizing operations to obtain the desired resolution, which is tedious, difficult, and time consuming for the average user.
Still other conventional methods necessitate that the sending server know the resolution and/or terminal type of the requesting terminal so that the sending server can select and transmit images at the appropriate resolution. However, this approach is often of little use where the sending server does not know the resolution and/or type of requesting terminal. Yet other conventional systems store several versions of each image at several different resolutions in order to accommodate different resolution requests. Such storage of multiple versions can significantly increase the needed available storage memory.